package br.gov.mi.corporativo.dominio.repositorio.comum;

import java.util.Date;
import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import br.gov.mi.corporativo.dominio.entidade.comum.PessoaFisica;

public interface PessoaFisicaRepositorio extends
		JpaRepository<PessoaFisica, Long> {
	
	//List<PessoaFisica> findByNomePessoaFisicaContainingIgnoreCase(String nomepessoafisica);
	
	public PessoaFisica idPessoaFisica(Long idPessoaFisica);
	public List<PessoaFisica> findByUf(Long uf);
	public List<PessoaFisica> findByPais(Long pais);
	public List<PessoaFisica> findByTratamento(Long tratamento);
	public List<PessoaFisica> findByPessoa(Long pessoa);
	public List<PessoaFisica> findByProfissao(Long profissao);
	public List<PessoaFisica> findByMunicipio(Long municipio);
	public List<PessoaFisica> findByNmPessoaFisicaContainingIgnoreCaseOrderByNmPessoaFisicaAsc(String nmPessoaFisica);
	public List<PessoaFisica> findByDtNascimento(Date dtNascimento);
	public List<PessoaFisica> findByStSexo(String stSexo);
	public List<PessoaFisica> findByCsGrupoSanguineo(String csGrupoSanguineo);
	public List<PessoaFisica> findByCsFatorRh(String csFatorRh);
	public List<PessoaFisica> findByCsCor(String csCor);
	public List<PessoaFisica> findByCsEstadoCivil(String csEstadoCivil);
	public List<PessoaFisica> findByNmPai(String nmPai);
	public List<PessoaFisica> findByNmMae(String nmMae);
	
	@Query(value="SELECT pf FROM PessoaFisica pf,Pessoa pessoa WHERE pf.pessoa = pessoa.idPessoa and pessoa.dsLogin = :login")
	public PessoaFisica findPorLogin(@Param("login")String login);

}
